home *** CD-ROM | disk | FTP | other *** search
/ MacAddict 104 / MacAddict_104_2005-04.iso / Software / Internet & Communication / WordPress 1.2.2 freeware.dmg / wordpress / wp-admin / edit-comments.php < prev    next >
PHP Script  |  2004-12-15  |  8KB  |  159 lines

  1. <?php
  2. require_once('../wp-includes/wp-l10n.php');
  3.  
  4. $title = __('Edit Comments');
  5. $parent_file = 'edit.php';
  6. require_once('admin-header.php');
  7. if (empty($_GET['mode'])) $mode = 'view';
  8. else $mode = wp_specialchars($_GET['mode'], 1);
  9. ?>
  10. <ul id="adminmenu2">
  11.     <li><a href="edit.php"><?php _e('Posts') ?></a></li>
  12.     <li><a href="edit-comments.php" class="current"><?php _e('Comments') ?></a></li>
  13.     <li class="last"><a href="moderation.php"><?php _e('Awaiting Moderation') ?></a></li>
  14. </ul>
  15. <script type="text/javascript">
  16. <!--
  17. function checkAll(form)
  18. {
  19.     for (i = 0, n = form.elements.length; i < n; i++) {
  20.         if(form.elements[i].type == "checkbox") {
  21.             if(form.elements[i].checked == true)
  22.                 form.elements[i].checked = false;
  23.             else
  24.                 form.elements[i].checked = true;
  25.         }
  26.     }
  27. }
  28. //-->
  29. </script>
  30. <div class="wrap">
  31. <form name="searchform" action="" method="get"> 
  32.   <fieldset> 
  33.   <legend><?php _e('Show Comments That Contain...') ?></legend> 
  34.   <input type="text" name="s" value="<?php if (isset($s)) echo wp_specialchars($s, 1); ?>" size="17" /> 
  35.   <input type="submit" name="submit" value="<?php _e('Search') ?>"  />  
  36.   <input type="hidden" name="mode" value="<?php echo $mode; ?>" />
  37.   <?php _e('(Searches within comment text, email, URI, and IP address.)') ?>
  38.   </fieldset> 
  39. </form>
  40. <p><a href="?mode=view"><?php _e('View Mode') ?></a> | <a href="?mode=edit"><?php _e('Mass Edit Mode') ?></a></p>
  41. <?php
  42. if (!empty($_POST['delete_comments'])) {
  43.  
  44.     // I had this all as one query but then realized we weren't checking permissions on each comment.
  45.     $del_comments = ''; $safe_delete_commeents = ''; $i = 0;
  46.     foreach ($_POST['delete_comments'] as $comment) { // Check the permissions on each
  47.         $comment = intval($comment);
  48.         $post_id = $wpdb->get_var("SELECT comment_post_ID FROM $tablecomments WHERE comment_ID = $comment");
  49.         $authordata = get_userdata($wpdb->get_var("SELECT post_author FROM $tableposts WHERE ID = $post_id"));
  50.         if (($user_level > $authordata->user_level) or ($user_login == $authordata->user_login)) {
  51.             $wpdb->query("DELETE FROM $tablecomments WHERE comment_ID = $comment");
  52.             ++$i;
  53.         }
  54.     }
  55.     echo "<div class='wrap'><p>" . sprintf(__('%s comments deleted.'), $i) . "</p></div>";
  56. }
  57.  
  58. if (isset($_GET['s'])) {
  59.     $s = $wpdb->escape($_GET['s']);
  60.     $comments = $wpdb->get_results("SELECT * FROM $tablecomments  WHERE
  61.         comment_author LIKE '%$s%' OR
  62.         comment_author_email LIKE '%$s%' OR
  63.         comment_author_url LIKE ('%$s%') OR
  64.         comment_author_IP LIKE ('%$s%') OR
  65.         comment_content LIKE ('%$s%')
  66.         ORDER BY comment_date DESC");
  67. } else {
  68.     $comments = $wpdb->get_results("SELECT * FROM $tablecomments ORDER BY comment_date DESC LIMIT 20");
  69. }
  70. if ('view' == $mode) {
  71.     if ($comments) {
  72.         echo '<ol>';
  73.         foreach ($comments as $comment) {
  74.         $authordata = get_userdata($wpdb->get_var("SELECT post_author FROM $tableposts WHERE ID = $comment->comment_post_ID"));
  75.             $comment_status = wp_get_comment_status($comment->comment_ID);
  76.             if ('unapproved' == $comment_status) {
  77.                 echo '<li class="unapproved" style="border-bottom: 1px solid #ccc;">';
  78.             } else {
  79.                 echo '<li style="border-bottom: 1px solid #ccc;">';
  80.             }
  81.         ?>        
  82.         <p><strong><?php _e('Name:') ?></strong> <?php comment_author() ?> <?php if ($comment->comment_author_email) { ?>| <strong><?php _e('Email:') ?></strong> <?php comment_author_email_link() ?> <?php } if ($comment->comment_author_email) { ?> | <strong><?php _e('URI:') ?></strong> <?php comment_author_url_link() ?> <?php } ?>| <strong><?php _e('IP:') ?></strong> <a href="http://ws.arin.net/cgi-bin/whois.pl?queryinput=<?php comment_author_IP() ?>"><?php comment_author_IP() ?></a></p>
  83.         
  84.         <?php comment_text() ?>
  85.  
  86.         <p><?php _e('Posted'); echo ' '; comment_date('M j, g:i A'); ?> | <?php 
  87.             if (($user_level > $authordata->user_level) or ($user_login == $authordata->user_login)) {
  88.                 echo "<a href=\"post.php?action=editcomment&comment=".$comment->comment_ID."\">" . __('Edit Comment') . "</a>";
  89.                 echo " | <a href=\"post.php?action=deletecomment&p=".$comment->comment_post_ID."&comment=".$comment->comment_ID."\" onclick=\"return confirm('" . sprintf(__("You are about to delete this comment by \'%s\'\\n  \'Cancel\' to stop, \'OK\' to delete."), $comment->comment_author) . "')\">" . __('Delete Comment') . "</a> — ";
  90.             } // end if any comments to show
  91.             // Get post title
  92.             $post_title = $wpdb->get_var("SELECT post_title FROM $tableposts WHERE ID = $comment->comment_post_ID");
  93.             $post_title = ('' == $post_title) ? "# $comment->comment_post_ID" : $post_title;
  94.             ?> <a href="post.php?action=edit&post=<?php echo $comment->comment_post_ID; ?>"><?php printf(__('Edit Post “%s”'), stripslashes($post_title)); ?></a> | <a href="<?php echo get_permalink($comment->comment_post_ID); ?>"><?php _e('View Post') ?></a></p>
  95.         </li>
  96.  
  97.         <?php 
  98.         } // end foreach
  99.     echo '</ol>';
  100.     } else {
  101.  
  102.         ?>
  103.         <p>
  104.         <strong><?php _e('No comments found.') ?></strong></p>
  105.         
  106.         <?php
  107.     } // end if ($comments)
  108. } elseif ('edit' == $mode) {
  109.  
  110.     if ($comments) {
  111.         echo '<form name="deletecomments" id="deletecomments" action="" method="post"> 
  112.         <table width="100%" cellpadding="3" cellspacing="3">
  113.   <tr>
  114.     <th scope="col">*</th>
  115.     <th scope="col">' .  __('Name') . '</th>
  116.     <th scope="col">' .  __('Email') . '</th>
  117.     <th scope="col">' . __('IP') . '</th>
  118.     <th scope="col">' . __('Comment Excerpt') . '</th>
  119.     <th scope="col" colspan="3">' .  __('Actions') . '</th>
  120.   </tr>';
  121.         foreach ($comments as $comment) {
  122.         $authordata = get_userdata($wpdb->get_var("SELECT post_author FROM $tableposts WHERE ID = $comment->comment_post_ID"));
  123.         $bgcolor = ('#eee' == $bgcolor) ? 'none' : '#eee';
  124. ?>
  125.   <tr style='background-color: <?php echo $bgcolor; ?>'>
  126.     <td><?php if (($user_level > $authordata->user_level) or ($user_login == $authordata->user_login)) { ?><input type="checkbox" name="delete_comments[]" value="<?php echo $comment->comment_ID; ?>" /><?php } ?></td>
  127.     <td><?php comment_author_link() ?></td>
  128.     <td><?php comment_author_email_link() ?></td>
  129.     <td><a href="http://ws.arin.net/cgi-bin/whois.pl?queryinput=<?php comment_author_IP() ?>"><?php comment_author_IP() ?></a></td>
  130.     <td><?php comment_excerpt(); ?></td>
  131.     <td><a href="<?php echo get_permalink($comment->comment_post_ID); ?>#comment-<?php comment_ID() ?>" class="edit"><?php _e('View') ?></a></td>
  132.     <td><?php if (($user_level > $authordata->user_level) or ($user_login == $authordata->user_login)) {
  133.     echo "<a href='post.php?action=editcomment&comment=$comment->comment_ID' class='edit'>" .  __('Edit') . "</a>"; } ?></td>
  134.     <td><?php if (($user_level > $authordata->user_level) or ($user_login == $authordata->user_login)) {
  135.             echo "<a href=\"post.php?action=deletecomment&p=".$comment->comment_post_ID."&comment=".$comment->comment_ID."\" onclick=\"return confirm('" . sprintf(__("You are about to delete this comment by \'%s\'\\n  \'Cancel\' to stop, \'OK\' to delete."), $comment->comment_author) . "')\"    class='delete'>" . __('Delete') . "</a>"; } ?></td>
  136.   </tr>
  137.         <?php 
  138.         } // end foreach
  139.     ?></table>
  140.     <p><a href="javascript:;" onclick="checkAll(document.getElementById('deletecomments')); return false; "><?php _e('Invert Checkbox Selection') ?></a></p>
  141.             <p style="text-align: right;"><input type="submit" name="Submit" value="<?php _e('Delete Checked Comments') ?>" onclick="return confirm('<?php _e("You are about to delete these comments permanently \\n  \'Cancel\' to stop, \'OK\' to delete.") ?>')" />    </p>
  142.   </form>
  143. <?php
  144.     } else {
  145. ?>
  146. <p>
  147. <strong><?php _e('No results found.') ?></strong>
  148. </p>
  149. <?php
  150.     } // end if ($comments)
  151. }
  152.     ?>
  153.  
  154. </div>
  155.  
  156. <?php 
  157. include('admin-footer.php');
  158. ?>
  159.